21.2 Das MDI-Hauptfenster  
Üblicherweise wird eine MDI-Anwendung mit dem Öffnen des Hauptfensters gestartet. Dazu setzen Sie die Eigenschaft IsMdiContainer der dafür vorgesehenen Form auf True. Den Unterschied zu einem herkömmlichen Fenster sehen Sie sofort, denn es ändert sich sowohl die Rahmenart als auch die Hintergrundfarbe. Eine individuelle Änderung der Eigenschaft BackColor ist nicht möglich, dazu müssten Sie die Änderungen in der Systemsteuerung vornehmen.
MDI-Hauptfenster haben üblicherweise eine Menü- und Symbolleiste und darüber hinaus auch meistens eine Statusleiste zur Anzeige von Zustandsinformationen. Symbol- und Statusleiste sind am Rand der Containerform angedockt.
Sie können auch beliebige andere Steuerelemente, beispielsweise eine Schaltfläche, im MDI-Hauptfenster positionieren. Diese sollten dann aber unbedingt angedockt werden. Machen Sie das nicht und öffnen dann ein Subfenster, wird das nicht angedockte Steuerelement des Hauptfensters auf dem Subfenster angezeigt.
Das Schließen des Hauptfensters
Um ein Fenster zu schließen, bieten sich mehrere Möglichkeiten an:
|
Es wird die Methode Close auf das zu schließende Formular aufgerufen. |
|
Es wird im Systemmenü Schließen gewählt. |
|
Es wird die X-Schaltfläche in der Titelleiste geklickt. |
|
Sie rufen die Methode Exit bzw. ExitThread der Klasse Application auf. |
Wird das Hauptfenster einer MDI-Anwendung geschlossen, werden zuerst die FormClosing-Ereignisse aller Subfenster aufgerufen, erst daran anschließend das FormClosing-Ereignis des Hauptfensters.
Das FormClosing-Ereignis bietet sich generell dazu an, gegebenenfalls Daten zu sichern oder sogar den Schließvorgang abzubrechen, wenn e.Cancel=True gesetzt wird. Wenn in einer MDI-Anwendung ein untergeordnetes Fenster das Schließen verweigert, führt das sogar dazu, dass die Anwendung nicht beendet werden kann.
Mausereignisse des Hauptfensters
Bei der Entwicklung eines Hauptfenster dürfen Sie ein wichtiges Unterscheidungsmerkmal im Vergleich zu einem »normalen« Fenster nicht unberücksichtigt lassen: MDI-Hauptfenster empfangen generell keine Mausereignisse.
|